使用 ffmpeg 推流本地视频
步骤1: 安装Nginx和RTMP模块
- 安装Nginx:
- 在Ubuntu系统上,你可以通过APT包管理器安装Nginx:
sudo apt update sudo apt install nginx
- 在Ubuntu系统上,你可以通过APT包管理器安装Nginx:
- 编译RTMP模块:
- RTMP模块不是Nginx的标准部分,需要额外安装。通常需要从源代码编译Nginx以包括RTMP模块。你可以使用以下命令安装编译所需的依赖,并下载Nginx和RTMP模块源代码进行编译:
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -zxvf nginx-1.18.0.tar.gz git clone https://github.com/arut/nginx-rtmp-module.git cd nginx-1.18.0/ ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module make sudo make install
- RTMP模块不是Nginx的标准部分,需要额外安装。通常需要从源代码编译Nginx以包括RTMP模块。你可以使用以下命令安装编译所需的依赖,并下载Nginx和RTMP模块源代码进行编译:
步骤2: 配置RTMP模块
- 编辑Nginx配置文件:
- 通常Nginx的配置文件位于
/usr/local/nginx/conf/nginx.conf
或者/etc/nginx/nginx.conf
。你需要编辑这个文件来添加RTMP配置。以下是一个基本的RTMP配置示例:rtmp { server { listen 1935; # RTMP默认端口 chunk_size 4096; application live { live on; record off; } } }
- 通常Nginx的配置文件位于
步骤3: 启动Nginx服务器
- 使用以下命令启动Nginx:
sudo /usr/local/nginx/sbin/nginx
- 如果需要重新加载配置文件(修改后的情况),使用:
sudo /usr/local/nginx/sbin/nginx -s reload
步骤4: 推送流到服务器
- 你现在可以使用之前提供的FFmpeg命令或任何支持RTMP推送的软件将流推送到此服务器。例如:
ffmpeg -re -i your_video_file.mp4 -c copy -f flv rtmp://localhost/live/stream
这里需要提前机器上安装 ffmpeg。
后台运行并保存日志文件
nohup ffmpeg -nostdin -re -i GPT1-3讲解.mp4 -c copy -f flv rtmp://100.103.255.6/live/stream1 > ffmpeg_log12.txt 2>&1 &
测试和验证
- 你可以使用VLC或其他支持RTMP的媒体播放器来播放RTMP流,检查是否成功。在VLC中,打开网络串流(
Media -> Open Network Stream
),输入rtmp://localhost/live/stream
。